#ifndef PROXYIMPL_H
#define PROXYIMPL_H

#include <optra/common/proxy.h>
#include <optra/common/gui.h>

class Application;
class ProxyImpl : public Optra::Proxy
{
    Q_OBJECT
public:
    ProxyImpl(Application* main);
    ~ProxyImpl();

    QDir directory(Optra::Proxy::DirType d);

    QString localHostName();
    Optra::Gui* gui();

    Optra::ZoneInterface* mainZone();

    Optra::ZoneInterface* zoneInterface(const QString& name);
    QVariant zoneProperty(const QString& zone, const QString& name, const QVariant& params = "");

private:
    Application* main_;
    Optra::Gui* gui_;
};

#endif // PROXYIMPL_H
